function getLocation(_this) {
    const self = _this;
    AMap.plugin('AMap.Geolocation', function() {
        var geolocation = new AMap.Geolocation({
            // 是否使用高精度定位， 默认true
            enableHighAccuracy: true,
            // 设置定位超时时间， 默认： 无穷大
            timeout:1000
        });

        geolocation.getCurrentPosition();
        AMap.event.addListener(geolocation, 'complete', onComplete);
        AMap.event.addListener(geolocation, 'error', onError);

        function onComplete (data) {
            // data是具体的定位信息
            // console.log('定位成功信息：', data.addressComponent.city);
            self.location = data.addressComponent.city;
        }

        function onError (data) {
            // 定位出错
            // console.log('定位失败错误：', data);
            // 调用IP定位
            getLngLatLocation();

        }
    });
}

// 根据ip获取位置
function getLngLatLocation() {
    AMap.plugin('AMap.CitySearch', function () {
        var citySearch = new AMap.CitySearch();
        console.log(citySearch);
        citySearch.getLocalCity(function (status, result) {
            if (status === 'complete' && result.info === 'OK') {
                // 查询成功，result即为当前所在城市信息
                // console.log('通过ip获取当前城市：', result);
                // 逆向地理编码
                AMap.plugin('AMap.Geocoder', function () {
                    var geocoder = new AMap.Geocoder({
                        // city 指定进行编码查询的城市，支持传入城市名、adcode 和 citycode
                        city: result.adcode
                    });
        
                    var lnglat = result.rectangle.split(';')[1].split(',');
                    geocoder.getAddress(lnglat, function (status, data) {
                        if (status === 'complete' && data.info === 'OK') {
                            // result为对应的地理位置详细信息
                            let location = data.regeocode.addressComponent['province'] + data.regeocode.addressComponent['district'];
                            sessionStorage.setItem('location', location);
                        }
                    });
                });
            }
        });
    });
}

export default getLocation
    



// methods: {
//     // 获取当前位置
//     getLocation() {
//         const self = this;
//         AMap.plugin('AMap.Geolocation', function() {
//             var geolocation = new AMap.Geolocation({
//                 // 是否使用高精度定位， 默认true
//                 enableHighAccuracy: true,
//                 // 设置定位超时时间， 默认： 无穷大
//                 timeout:1000
//             });

//         geolocation.getCurrentPosition();
//         AMap.event.addListener(geolocation, 'complete', onComplete);
//         AMap.event.addListener(geolocation, 'error', onError);

//         function onComplete (data) {
//             // data是具体的定位信息
//             // console.log('定位成功信息：', data.addressComponent.city);
//             self.location = data.addressComponent.city;
//         }

//         function onError (data) {
//             // 定位出错
//             // console.log('定位失败错误：', data);
//             // 调用IP定位
//             self.getLngLatLocation();

//         }
//     });
// },

//     // 通过ip获取当前位置

//     getLngLatLocation () {
//         AMap.plugin('AMap.CitySearch', function () {
//             var citySearch = new AMap.CitySearch();
//             citySearch.getLocalCity(function (status, result) {
//                 if (status === 'complete' && result.info === 'OK') {
//                     // 查询成功，result即为当前所在城市信息
//                     // console.log('通过ip获取当前城市：', result);
//                     // 逆向地理编码
//                     AMap.plugin('AMap.Geocoder', function () {
//                         var geocoder = new AMap.Geocoder({
//                             // city 指定进行编码查询的城市，支持传入城市名、adcode 和 citycode
//                             city: result.adcode
//                         });
            
//                         var lnglat = result.rectangle.split(';')[0].split(',');
//                         geocoder.getAddress(lnglat, function (status, data) {
//                             if (status === 'complete' && data.info === 'OK') {
//                                 // result为对应的地理位置详细信息
//                                 // console.log(data);
//                                 location = data.regeocode.addressComponent['province'] + data.regeocode.addressComponent['district'];
//                             }
//                         });
//                     });
//                 }
//             });
//         });
//     }
// },
// created () {
//     this.getLocation();
// }